package cn.omisheep.au.annotation;

import java.lang.annotation.*;

/**
 * @author zhou xin chen  😊
 * 联系方式 qq:1269670415  email:xinchenzhou666@gmail.com
 */
@Target({ElementType.TYPE, ElementType.METHOD, ElementType.ANNOTATION_TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface AuLimit {


    /**
     * @return 规定时间内(默认10秒) 请求数量大于最大数量，则将该ip禁止。时间默认1天
     */
    String limit() default "10s";

    /**
     * 在规定时间内不能重复请求，否则拉入黑名单(禁止对该接口继续请求)，且在规定时间后释放
     *
     * @return 次数
     */
    int limitMaxCount() default 10;

    /**
     * 在规定时间后释放，默认1小时
     *
     * @return 释放时间
     */
    String relieveTime() default "1h";
}
